package com.aplana.ccsd.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.ServletRequestBindingException;

import com.aplana.ccsd.model.pagination.PagedList;
import com.aplana.ccsd.model.pagination.Pagination;
import com.aplana.ccsd.model.pagination.Step;


public interface PaginationService {

	/**
	 * Получить текущую страницу
	 */
	Step getCurrentStep(HttpServletRequest request) throws ServletRequestBindingException;
	
	/**
	 * Создать список с результатами для отображения на текущей странице 
	 */
	<T> PagedList<T> createPageResults(List<T> allResult, Step currentStep);
	
	/**
	 * Создать объект пейджинга
	 */
	Pagination createPagination(String url, HttpServletRequest request,
			Step currentStep, int total);
	
}
